/**
 * @Description 系统后台元数据视图配置列表JS-systemDataViewList.jsp
 * @Author guoyanfei
 * @Date 2018/12/26
 */
var postPath = '/gdp';
//项目路径
var strPath = window.document.location.pathname;
var viewList = function () {
    //查询数据列表
    var getList=function () {
        $("#tb_viewList").bootstrapTable({
            url: postPath + "/system/dataConfig/getCfgdbList",
            detailView: true,//父子表
            undefinedText : '-',
            striped : true, // 是否显示行间隔色
            cache : false, // 是否使用缓存
            singleSelect:true,
            columns:[{
                title : '数据库',
                field : 'dbMark',
                align : 'left',
                valign : 'middle'
            },{
                title : '连接地址',
                field : 'dbIp',
                align : 'center',
                valign : 'middle'
            },{
                title : '库名称',
                field : 'dbName',
                align : 'center',
                valign : 'middle'
            },{
                title : '数据库类型',
                field : 'dbVersion',
                align : 'center',
                valign : 'middle',
                width: '140px'
            },{
                title : '操作',
                field : 'option',
                align : 'center',
                valign : 'middle',
                width: '140px',
                formatter:function(value,row,index){
                    var btn="<button class='btn blue-steel' onclick='addtable(\""+row.dbKey+"\");'><i class='fa fa-push'></i>新增视图</button>";
                    return btn;
                }
            }],
            onExpandRow:function(index, row, $detail){
                var tools='<div class="table-toolbar" style="margin-bottom: 0px;">'
                    +'<div class="row" style="margin-left: 0px; margin-right: 0px;">'
                    +'<div class="col-md-3">'
                    +'<input id="seachTxt'+row.dbKey+'" type="text" class="form-control" placeholder="请输入关键字" />'
                    +'</div>'
                    +'<div class="col-md-6">'
                    +'<div class="btn-group">'
                    +"<button class='btn blue-steel' onclick='selectOption(\"tb_"+row.dbKey+"\");'>"
                    +'查询 <i class="fa fa-search"></i>'
                    +'</button></div></div></div></div>';

                var cur_table = $detail.html(tools+'<table id="tb_'+row.dbKey+'"></table>').find('table');
                $(cur_table).bootstrapTable({
                    url: postPath + "/system/dataConfig/selectCfgtableList",
                    undefinedText : '-',
                    pagination : true, // 分页
                    striped : true, // 是否显示行间隔色
                    queryParams : function (pageReqeust) {
                        var temp = {
                            order: pageReqeust.order,
                            pageNo: pageReqeust.offset/pageReqeust.limit+1,
                            pageSize: pageReqeust.limit,
                            dbkey:row.dbKey,
                            paramtxt:$("#seachTxt"+row.dbKey).val(),
                            tableType:2
                        };
                        return temp;
                    },
                    cache : false, // 是否使用缓存
                    pageList : [ 5, 10, 20 ],
                    toolbar : "",// 指定工具栏
                    showColumns : false, // 显示隐藏列
                    showRefresh : false, // 显示刷新按钮
                    uniqueId : "dbKey", // 每一行的唯一标识
                    sidePagination : "server", // 服务端处理分页
                    columns : [{
                        title : '表标识',
                        field : 'dtConfigId',
                        align : 'center',
                        valign : 'middle',
                        sortable : false
                    }, {
                        title : '表中文名称',
                        field : 'dtNameCn', // 字段
                        align : 'center', // 对齐方式（左 中 右）
                        valign : 'middle', //
                        sortable : false
                    }, {
                        title : '表名称',
                        field : 'dtName',
                        align : 'center',
                        valign : 'middle',
                        sortable : false
                    }, {
                        title : '主键',
                        field : 'dtPrimarykey',
                        align : 'center',
                        valign : 'middle',
                        sortable : false
                    }, {
                        title : '操作',
                        field : 'option',
                        align : 'center',
                        valign : 'middle',
                        width: '200px',
                        sortable : false,
                        formatter: function (value,row,index) {
                            var btn="<button class='btn blue-steel' onclick='updatetable(\""+row.dtConfigId+"\");'><i class='fa fa-edit'></i>修改</button>"
                                +"<button class='btn blue-steel' onclick='deletetable(\""+row.dtConfigId+"\",\"tb_"+row.dtConn+"\");'><i class='fa fa-remove'></i>删除</button>";
                            return btn;
                        }
                    }]

                });
            }
        });
    };

    return{
        init:function () {
            getList();
        }
    };
}();

//初始化
$(function () {
   //$(document).ajaxStart($.blockUI).ajaxStop($.unblockUI);
   viewList.init();
});

//查询表操作
function selectOption(tableid) {
    $("#"+tableid).bootstrapTable('refresh');
};

//新增表操作
function addtable(dbkey) {
    window.location.href= postPath + "/systemDataView/index?ismark=1&dbkey="+dbkey;
}

//修改表操作
function updatetable(dtConfigId){
    window.location.href= postPath + "/systemDataView/index?ismark=2&dtConfigId="+dtConfigId;
}

//删除表操作
function deletetable(dtConfigId,tableid){
    var deleteFunction = function(result) {
        if(result == false)
            return;
        $.ajax({
            url: postPath + '/system/dataView/delTableInfo',
            type: 'POST',
            data: { dtConfigId: dtConfigId },
            success: function (data) {
                if(data > 0){
                    selectOption(tableid);
                    bootbox.alert("删除成功!");
                }else{
                    bootbox.alert("删除失败,请刷新后重试!");
                }

            },
            error:function()
            {
                bootbox.alert("删除失败,请刷新后重试!");
            }
        });
    };
    confirmDelete("dtConfigId", deleteFunction)
    //bootbox.confirm("确认删除(删除有关此视图的所有信息)?", );
}


function confirmDelete(message, confirmFunction){
    var messageObj = {
        title: '确认删除？',
        message: message ,
        callback: confirmFunction
    }
    bootbox.confirm(messageObj);
}
